home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / public / bit / src / ulib / dir.c < prev    next >
C/C++ Source or Header  |  1994-08-01  |  882b  |  42 lines

  1. /**********************************************************************
  2.  * $Id: dir.c,v 0.80 1994/02/24 09:48:11 zhao Exp $
  3.  *
  4.  *.  Copyright(c) 1993,1994 by T.C. Zhao
  5.  *   All rights reserved.
  6.  *.
  7.  * Save and restore last directory between chdir call
  8.  **********************************************************************/
  9. #if !defined(lint) && defined(F_ID)
  10. char *id_srdir = "$Id: dir.c,v 0.80 1994/02/24 09:48:11 zhao Exp $";
  11. #endif
  12.  
  13. #include "ulib.h"
  14. #include <limits.h>
  15. #include "unistd.h"
  16.  
  17. #define MAXDIR        15
  18. static char lastdir[MAXDIR][PATH_MAX];
  19. static int top;
  20.  
  21. void
  22. push_dir(void)
  23. {
  24.     if (top >= MAXDIR)
  25.       {
  26.       fputs("push_dir: stack overflow\n", stderr);
  27.       return;
  28.       }
  29.     getcwd(lastdir[top++], PATH_MAX - 3);
  30. }
  31.  
  32. void
  33. pop_dir(void)
  34. {
  35.     if (--top < 0)
  36.       {
  37.       fputs("pop_dir: Empty stack\n", stderr);
  38.       top = 0;
  39.       }
  40.     chdir(lastdir[top]);
  41. }
  42.